/**
 * 双重遍历
 * @param {Array} arr
 * @returns
 */
export function unique1(arr) {
  const result = []
  for (let i = 0, length = arr.length; i < length; ++i) {
    if (result.indexOf(arr[i]) === -1) {
      result.push(arr[i])
    }
  }
  return result
}

/**
 * 使用映射的方式来去重
 * @param {Array} arr
 * @returns
 */
export function unique2(arr) {
  const result = []
  const dict = {}
  arr.forEach((item) => {
    // eslint-disable-next-line
    if (!dict.hasOwnProperty(item)) {
      dict[item] = true
      result.push(item)
    }
  })
  return result
}

/**
 * 使用ES6数据结构
 * @param {Array} arr
 * @returns
 */
export function unique3(arr) {
  return [...new Set(arr)]
}
